package com.ruoyi.request.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 请假对象 leave_request
 * 
 * @author wpy
 * @date 2024-12-12
 */
public class LeaveRequest extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 请假记录ID */
    @Excel(name = "请假记录ID")
    private Long id;

    /** 请假人姓名 */
    @Excel(name = "请假人姓名")
    private String userName;

    /** 部门 */
    @Excel(name = "部门")
    private String department;

    /** 请假日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "请假日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveDate;

    /** 请假类别 */
    @Excel(name = "请假类别")
    private String category;

    /** 请假天数 */
    @Excel(name = "请假天数")
    private Integer duration;

    /** 请假事由 */
    @Excel(name = "请假事由")
    private String reason;

    /** 亲属名字 */
    @Excel(name = "亲属名字")
    private String relativeName;

    /** 亲属电话 */
    @Excel(name = "亲属电话")
    private String relativePhone;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setDepartment(String department) 
    {
        this.department = department;
    }

    public String getDepartment() 
    {
        return department;
    }
    public void setLeaveDate(Date leaveDate) 
    {
        this.leaveDate = leaveDate;
    }

    public Date getLeaveDate() 
    {
        return leaveDate;
    }
    public void setCategory(String category) 
    {
        this.category = category;
    }

    public String getCategory() 
    {
        return category;
    }
    public void setDuration(Integer duration) 
    {
        this.duration = duration;
    }

    public Integer getDuration() 
    {
        return duration;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setRelativeName(String relativeName) 
    {
        this.relativeName = relativeName;
    }

    public String getRelativeName() 
    {
        return relativeName;
    }
    public void setRelativePhone(String relativePhone) 
    {
        this.relativePhone = relativePhone;
    }

    public String getRelativePhone() 
    {
        return relativePhone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userName", getUserName())
            .append("department", getDepartment())
            .append("leaveDate", getLeaveDate())
            .append("category", getCategory())
            .append("duration", getDuration())
            .append("reason", getReason())
            .append("relativeName", getRelativeName())
            .append("relativePhone", getRelativePhone())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
